package com.xinchao.job.mapper.dmp;

import com.xinchao.common.model.advertise.Route;
import com.xinchao.common.model.advertise.RouteDTO;
import com.xinchao.common.model.advertise.SkXkOrders;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName RouteMapper
 * @Description 路线表mapper
 * @Author HanQinrui
 * @Date 2018/9/25 10:52
 * @Version 1.0
 **/
public interface RouteMapper {
    /**
     * 保存接收到的
     * @param routeList 路线List
     * @param cityCode 城市编码
     * @param currentTime 当前时间
     */
    void insertRoute(@Param("routeList") List<Route> routeList, @Param("cityCode") String cityCode, @Param("currentTime") Long currentTime);

    /**
     * 删除该城市下的所有路线
     * @param cityCode 城市编码
     */
    void deleteRouteByCityCode(@Param("cityCode") String cityCode);

    /**
     * 保存上刊下刊素材
     * @param skXkOrders 上刊下刊素材
     */
    void insertSkXkOrders(SkXkOrders skXkOrders);

    /**
     * 通过routeId获取Route信息
     * @param routeId
     * @param cityCode
     * @return
     */
    Route getRouteById(@Param("routeId") String routeId, @Param("cityCode") String cityCode);

    /**
     * 更新路线信息
     * @param route
     */
    void updateRoute(@Param("route") Route route);

    /**
     * 删除上刊下刊素材
     * @param cityCode 城市编码
     */
    void deleteSkXkOrdersByCityCode(@Param("cityCode") String cityCode);

    /**
     * 将该城市下的路线添加进历史表
     * @param cityCode 城市编码
     * @param currentTime 当前时间
     */
    void insertHisRoute(@Param("cityCode") String cityCode, @Param("currentTime") Long currentTime);

    /**
     * 将该城市的上刊下刊素材列表写进历史表
     * @param cityCode 城市编码
     * @param currentTime
     */
    void insertHisSkXkOrders(@Param("cityCode") String cityCode, @Param("currentTime") Long currentTime);

    /**
     * 批量更新路线信息
     * @param routeList 路线信息
     * @param cityCode
     *
     */
    void updateBatchRouteByCityCode(@Param("list") List<RouteDTO> routeList, @Param("cityCode") String cityCode);
}
